 #include <string.h>
#include <stdlib.h>
#include "Data.cpp"

using namespace std; 

class Persona {

	protected:char* nome;
		char* cognome;
		Data nascita;
		Data morte;
	
	public:
		Persona(char* nome, char* cognome, Data nascita);
		Persona();
		/**
		 * @return the morte
		 */
		Data getMorte() {
		return morte;
		}


		/**
	 	* @param morte the morte to set
	 	*/
		void setMorte(Data morte) {
			this->morte = morte;
		}


		/**
		 * @return the nome
		 */
		char* getNome() {
		return nome;
		}
		/**
		 * @param nome the nome to set
		 */
		void setNome(char* nome) {
			realloc(this->nome,sizeof(char)*strlen(nome)); 
			unsigned int i;
			for(i = 0; i< strlen(nome);i++){
				this->nome[i] = nome[i];			
			}
		}
		/**
		 * @return the cognome
		 */
		char*getCognome() {
		return cognome;
		}
		/**
		 * @param cognome the cognome to set
		 */
		void setCognome(char* cognome) {
			unsigned int i;
			realloc(this->cognome,sizeof(char)*strlen(cognome)); 
			for(i = 0; i< strlen(cognome);i++){
				this->cognome[i] = cognome[i];			
			}
		}
	
		/**
	 	* @return the nascita
	 	*/
		Data getNascita() {
			return nascita;
		}
		/**
		 * @param nascita the nascita to set
		 */
		void setNascita(Data nascita) {
			this->nascita = nascita;
		}
};

Persona::Persona(char* nome, char* cognome, Data nascita) {
			unsigned int i;
			this->nome =(char*)malloc(sizeof(char)*strlen(nome)); 
			for(i = 0; i< strlen(nome);i++){
				this->nome[i] = nome[i];			
			}
			this->cognome =(char*)malloc(sizeof(char)*strlen(cognome));
			for(i = 0; i< strlen(cognome);i++){
				this->cognome[i] = cognome[i];			
			}
			this->nascita = nascita;
	}

Persona::Persona(){}
